﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
using MySql.Data;
using MySql.Data.MySqlClient;


namespace SistemaPetShop
{
    public class Conexao
    {
        // Conexao com mysql, base de dados do sistema
        MySqlConnection conexao = new MySqlConnection("server=localhost;user id=root;password=123456;database=petshop");
        
        // conexao com Access, base de dados para consulta dos correios
        OleDbConnection conexaoAccess = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\basecorreio\\dnecom.mdb");
        
        // Criacao de um datatable
        DataTable dt = new DataTable();

        // Abrir conexão Access
        public void _AbrirConexaoAccess()
        {
            try 
	        {	        
		        conexaoAccess.Open();
	        }
	        catch (Exception exception)
	        {
		        Console.WriteLine(exception.Message);
		        throw;
	        }
        }
        
        // Fechar conexão com Access
        public void _FecharConexaoAccess()
        {
            try 
	        {	        
		        conexaoAccess.Close();
                conexaoAccess.Dispose();
	        }
	        catch (Exception exception)
	        {
		        Console.WriteLine(exception.Message);
		        throw;
	        }
        }

//        Realizando uma consulta na base dos correios 
        public OleDbDataReader _ConsultaAccess(string comando)
        {
            try
            {
                this._AbrirConexaoAccess();
                OleDbCommand c = new OleDbCommand(comando,conexaoAccess);
                OleDbDataReader Consulta = c.ExecuteReader();
                this._FecharConexaoAccess();
                return Consulta;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }

        }




 // Consultas no MYSQL       
        public void AbrirConexao()
        {
            try
            {

                conexao.Open();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
        }

        public void FecharConexao()
        {
            try
            {
                conexao.Close();
                conexao.Dispose();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }
        }


        public bool Insert(string comando)
        {
            this.AbrirConexao();
            int ret;
            MySqlCommand cmdtext = new MySqlCommand(comando, conexao);
            ret = cmdtext.ExecuteNonQuery();
            if (ret >= 1)
            {
                this.FecharConexao();
                return true;
            }
            else
            {
                this.FecharConexao();
                return false;
            }


        }

        public DataTable Consulta(string comando)
        {
            try
            {
                MySqlCommand c = new MySqlCommand(comando,conexao);
                //c.CommandText = comando;

                this.AbrirConexao();
                MySqlDataReader Consulta = c.ExecuteReader();
                dt.Load(Consulta);
                this.FecharConexao();
                return dt;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                throw;
            }

        }
        

       




    }
}
